In Internet Protocol (IP) networks, routing and aggregation difficulties, e.g., random and often unpredictable ingress packet traffic, must be handled. Packet traffic is classified, prioritized, rate-shaped, and scheduled or allocated its turn on a fixed bandwidth egress connection.
An out-of-band multiplexer/modulator (“OM”), examples of which include the OM2000 available from Motorola Mobility, combines multiple sources of data into an output transport stream, such as an MPEG-2 transport stream. As depicted in FIGS. 1 and 2, an OM 101 is able to receive input, e.g., UDP/IP Ethernet and RS-530 or RS-232 serial data, from multiple external devices 102a-n such as a network controller (NC) 102a, Remote Addressable DANIS/DLS (RADD) 102b, an emergency alert system (SCTE-18) device 102c, etc.
A conventional OM 101 transmits an out-of-band (OOB) data stream to digital set-tops, either individually or on a broadcast basis, providing, for example, a signaling channel, transmission of program guide information, code downloads, infrared codes, application information, and the downstream path in an interactive system.
In a conventional OM, an SCTE-55 channel rate is enforced at the OM, requiring buffering.
Conventional OM devices can use a Quadrature Phase Shift Key Modulator (QPSK) to modulate data on a 1.5 MHz wide carrier in the 71 to 129 MHz band with transmitted data multiplexed either internally or externally. Null packets are used as necessary to perform rate aggregation between inputs and a 2.048 Mbps output. Forward error correction (FEC) encoding and interleaving are provided to protect data integrity.
In some conventional OMs 101, as depicted in FIG. 1, maximum depth of a single first-in-first-out (FIFO) queue 120 is limited by the application which is most sensitive to timeout. In other OMs 101, arbitrarily large queue sizes and multiple queues, as depicted by queues 103, 104, and 105 in FIG. 2, can be used, allowing prioritization of traffic.
In an illustrative input process, packets from each source arrive asynchronously, and in unpredictable bursts. A user configures each source to be assigned to high (1), medium (2), or low (3) priority. Upon arrival, packets from each source are written into the designated priority queue, such as the high priority queue 103, medium priority queue 104, and low priority queue 105 shown in FIG. 2. Priority buffering allows network controller traffic to be set at a higher priority and carouselled data (e.g., Guide data, SDV minicarousel, etc) to be set to a lower priority.
FIG. 3 depicts input, output, and results, in an illustrative example of an OM 101 device. As illustrated by FIG. 3, an example input, a 2 MB/s RF output, is received at 301 at a device. At 302, a separate, precisely-timed periodic process is configured to check for available packets, checking in the priority queues at 303, 304, and 305. If there are packets, the packets from each buffer are received at 307, 308, and 309. If desirable to maintain a constant bit rate with a variable payload, null packets that carry no data may be retrieved at 311. The packets retrieved are serviced by writing the packets to an RF ring buffer at 310. After an interval available for buffer retrieval at 306 (i.e., wait a period of time, such as 750 s in this example), the method or device checks for any additional packets available at 302 in the next interval. However, not all packets retrieved in the prior interval may have been serviced yet, since a packet in a lower priority queue is serviced only if there is nothing on a higher priority queue. For example, if buffer PBQ1 has a higher priority than the PBQ2 and PBQ3 buffers, packets from the PBQ1 buffer queue retrieved at 307 are serviced before packets retrieved at 308 and 309. If the current interval closes prior to the servicing of all packets in the buffers, some packets may be lost or dropped. Accordingly, in illustrative results, the highest priority queue has minimum service delay, and the lowest priority queue is most likely to be dropped during congestion.
FIG. 4 depicts inputs into an OM 101 which requires OM configuration, e.g., by an operator. FIG. 4 includes further input examples such as a Switched Digital Video (SDV) minicarousel 102d, and a guide (e.g., an electronic program guide) 102e, etc. While an OM manufacturer may provide general recommendations for configuration, an operator (e.g., a multiple system operator (MSO), cable or broadband operator, etc.) has many choices when configuring the priority assignments, e.g., 103, 104, 105.
It is noted that while the accompanying FIGs. serve to illustrate embodiments of concepts that include the claimed invention, and explain various principles and advantages of those embodiments, the details depicted in the FIGs. would be readily apparent to those of ordinary skill in the art having the benefit of the description herein.